package ylg.com.cn.youtube._commons.core;

import android.app.Application;
import android.media.MediaPlayer;
import android.net.Uri;

import java.io.IOException;

/**
 * Created by MyPC on 2017/1/13.
 */
public class YtbApplication extends Application {
    MediaPlayer mp;
    @Override
    public void onCreate() {
        super.onCreate();
    }

    public MediaPlayer getMediaPlayer () {
        if (mp == null){
            new Throwable("No currently playing video!");
        }
        return  mp;
    }

    /* 用参数创建观看视频的的mediaplayer 对象*/
    public MediaPlayer getMediaPlayerFor(String path) {
        if (mp != null)
            try {
                /* 重设mediaplayer*/
                mp.reset();
                /* 设置数据来源 （视频地址）*/
                mp.setDataSource(this, Uri.parse(path));
               /* 让mediaplayer 做好准备
               * - 实现连接
               * - 解析编码
               * - 。。。*/
                // 在本子线程运行，而且阻止本子线程往前走
//                mp.prepare();
                /*
                 在其他子线程运行，而且运行完成后会调用回调方法
                            : 这样可以实现不阻止本线程的方式
                  */
                mp.prepareAsync();
            } catch (IOException e) {
                e.printStackTrace();
            }
        else {
            mp = MediaPlayer.create(this, Uri.parse(path));
        }
        return mp;
    }

    // 判断有没有在播放音乐
    public boolean getIsplaying() {
        if (mp == null || !mp.isPlaying())
            return false;
        return true;
    }

    public void release() {
        if (mp != null) {
            mp.release();
            mp = null;
        }
    }
}
